package com.android.yinghebike.manager;

import com.android.baselibrary.tool.SPUtil;
import com.android.baselibrary.util.Util;
import com.android.yinghebike.MyApplication;
import com.android.yinghebike.constants.SPConstants;

public class UnitManager {

    public static double rate = 1.6093;    //比率：1英里 = 1.6093 公里

    //获取单位类型, 0:公制    1：英制
    public static int getUnitType() {
        int unitType = SPUtil.getIntValue(MyApplication.context, SPConstants.Setting_UnitType, 0);
        return unitType;
    }

    //设置单位类型
    public static void setUnitType(int unitType) {
        SPUtil.putValue(MyApplication.context, SPConstants.Setting_UnitType, unitType);
    }

    //获取速度单位文本
    public static String getSpeedUnitText() {
        int unitType = getUnitType();
        return unitType == 0 ? "km/h" : "mph";
    }

    //获取实际展示的速度。如果是英制，就转换一下,保留1位小数
    public static double getDisplaySpeedByUnit(double num) {
        int unitType = getUnitType();
        if (unitType == 1)  //公里
        {
            num = num / rate;
        }
        return Double.parseDouble(Util.numDecimalFormat(num, 1));
    }

    //获取实际展示的里程。如果是英制，就转换一下.  num: 米
    public static String getDisplayDistanceByUnit(double num) {
        int unitType = getUnitType();
        String str = "";
        if (unitType == 0)  //公里
        {
            if (num < 1000) {
                str = (int) num + " m";
            } else {
                str = Util.numDecimalFormat(num / 1000d, 1) + " km";
            }
        } else     //英里
        {
            num = num / rate;
            str = Util.numDecimalFormat(num/ 1000d, 1) + " mi";
        }
        return str;
    }
}
